简介
GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目
安装
支持环境
- Ubuntu
- Debian
- CentOS
- OpenSUSE
- Respberry Pi2
https://about.gitlab.com/installation/
版本
- gitlab-ce (GitLab社区版)
- gitlab-ci-multi-runner (GitLab持续集成框架)
环境
- CentOS 7
- IP:192.168.124.128 (局域网)
安装
官方安装说明:
由于国内线路访问慢问题,所以用国内镜像安装
镜像地址: 清华大学开源软件镜像站
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # 在线安装脚本 ## 1.配置 $ sudo yum install curl policycoreutils openssh-server $ openssh-clients $ sudo systemctl enable sshd $ sudo systemctl start sshd $ sudo yum install postfix $ sudo systemctl enable postfix $ sudo systemctl start postfix $ sudo firewall-cmd --permanent --add-service=http $ sudo systemctl reload firewalld
## 2.下载 $ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo yum install gitlab-ce
# 离线安装(使用国内镜像) ## 更多GitLab 版本 https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ $ curl -LJO https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm
|
目前下载使用的是Gitlab - 9.1.4 版本
1 2 3 4
| # 执行运行安装命令 $ rpm -i gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm # 配置运行Gitlab $ sudo gitlab-ctl reconfigure
|
使用
访问地址 http://192.168.124.128/
首次访问需要你去初始化密码,初始化后用root用户登录
现在可以正式开始使用GitLab !
配置
GitLab 汉化
安装Git
1 2
| # 查看Git版本,查看是否已安装 $ git --version
|
如果提示”bash: git: command not found…
“,请安装Git工具,没有则可忽略该步骤
1 2 3 4
| # 安装Git $ sudo yum install git-core # 查看当前版本 $ git --version
|
汉化
思路
当前最新汉化版本是9.1.4,当前安装的是9.1.3。所以需要下载最新的项目然后切换成9.1.3版本(v9.1.3-zh)
检测GitLab版本
1 2
| # 检测当前Gitlab版本 $ sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
|
针对当前GitLab版本找到对应的汉化版本, GitLab 9.1.3 对应版本
下载汉化项目
1 2 3 4 5
| # 克隆gitlab汉化项目 $ git clone https://gitlab.com/xhang/gitlab.git
# 将汉化源添加为主机名为origin-zh的远程源码 $ git add remote orgin-zh https://gitlab.com/xhang/gitlab.git
|
可以使用cat命令去检查VERSION的版本,结果是9.1.4,所以这里需要切换成v9.1.3-zh版本
1 2 3 4
| # 查看目前有的版本 $ git tag # 切换版本 $ git checkout v9.1.3-zh
|
1 2 3 4
| # 使用git diff命令去检查 # 当前版本和中文汉化版本不同的地方生成.diff文件 $ git diff v9.1.3 v9.1.3-zh > /tmp/9.1.3-zh.diff
|
将差异的地方输出到/tmp/9.1.3-zh.diff
应用
1 2 3 4 5 6 7 8 9
| # 停止 gitlab $ sudo gitlab-ctl stop
# 应用汉化 $ cd /opt/gitlab/embedded/service/gitlab-rails $ sudo git apply /tmp/9.1.3-zh.diff
# 启动GitLab $ sudo gitlab-ctl start
|
服务邮箱配置
SMTP settings
配置/etc/gitlab/gitlab.rb文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = :login gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "xxuser@163.com" user["git_user_email"] = "xxuser@163.com"
|
如果不知道gitlab-ctl命令在哪里,可以通过which命令去找,如果想方便一点可以选择在~/.bash_profile注册别名来方便调用
1 2
| # 寻找命令, 结果位置在:/usr/bin/gitlab-ctl $ which gitlab-ctl
|
1 2 3 4 5 6 7 8 9 10
| # 执行配置生效 $ gitlab-ctl reconfigure
# 测试 $ gitlab-rails console # 进入gitlab控制台后 irb(main):003:0> Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
# 退出控制台 irb(main):003:0> exit
|
查看邮件是否收到
邮件配置已经完成
域名配置
配置/etc/gitlab/gitlab.rb文件,修改external_url节点
1 2
| # 执行生效 $ sudo gitlab-ctl reconfigure
|
重置域名/IP
GitLab我是装在本机的虚拟出来的主机上,发现Git仓的地址是localhost,所以这里需要修改gitlab.yml文件配置
1 2 3
| # 定位到gitlab.yml文件配置 $ cd /opt/gitlab/embedded/service/gitlab-rails/config
|
修改gitlab.yml文件的host节点配置
1 2
| # 重启GitLab $ gitlab-ctl restart
|
关于使用TortoiseGit问题
在使用TortoiseGit进行Git操作时候老是要我输入密码,在进行排查的时候,使用Git命令却完全没有问题。所以对于该问题是由TortoiseGit本身导致,处理方法。
修改TortoiseGit配置
参考资料